package 集合.List集合;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
    iterator迭代器：在调用iterator.next()方法之前,必须调用iterator.hasNext()方法进行检测，
    若不调用，且下一条记录无效，直接调用iterator.next()会抛出NoSuchElementException异常
 */
public class iterator迭代器 {
    @SuppressWarnings("all")
    public static void main(String[] args) {
        Collection arr =  new ArrayList<>();
        arr.add(new Book("三国演义","罗贯中",120));
        arr.add(new Book("西游记","吴承恩",130));
        arr.add(new Book("水浒传","施耐庵",110));
        //生成一个迭代器
        Iterator iterator = arr.iterator();
        //遍历迭代器
        while (iterator.hasNext()) {
            Book next =  (Book)iterator.next();
            System.out.println(next);
        }
//
//        for (Object o : arr) {
//            System.out.println(o);
//        }
    }
}

//class Book{
//    private String  name;
//    private String auth;
//    private double price;
//
//    public Book(String name, String auth, double price) {
//        this.name = name;
//        this.auth = auth;
//        this.price = price;
//    }
//
//    @Override
//    public String toString() {
//        return "Book{" +
//                "name='" + name + '\'' +
//                ", auth='" + auth + '\'' +
//                ", price=" + price +
//                '}';
//    }
//
//    public String getName() {
//        return name;
//    }
//
//    public void setName(String name) {
//        this.name = name;
//    }
//
//    public String getAuth() {
//        return auth;
//    }
//
//    public void setAuth(String auth) {
//        this.auth = auth;
//    }
//
//    public double getPrice() {
//        return price;
//    }
//
//    public void setPrice(double price) {
//        this.price = price;
//    }
//}
